Typography in 8 bits: System fonts
A series of posts on system fonts:
My love of typography originated in the 80’s with the golden years of 8-bit home computing and their 8×8 pixel monospaced fonts on low-resolution displays.
It’s quite easy to find bitmap copies of these fonts and also scalable traced TTF versions but there’s very little discussion about the fonts themselves. Let’s remedy that by firing up some emulators and investigating the glyphs.
Commodore PET (1977)
Commodore’s first business machine was the PET which came with a built-in monitor and a full character set unlike other machines at the time.
Unusual characteristics
- Primarily sans-serif but serifs present on ‘BDJa’
- Slightly stylized ‘£’
Rationale
The font is good choice for the original PET and its original monitor. It was unfortunately also used on the Vic-20 despite having half the screen resolution where it made a poor choice.
Influences
While not visibly influenced from anything else an almost direct rip of this font appears to have been used in the Apple Lisa debugger.
Technical
Unknown.
Apple ][ (1977)
Apple’s first professionally built computer was the Apple ][ which from rev 7 onwards added lower-case letters.
Unusual characteristics
- Uppercase letters can touch descenders on the line above as the full height is used
- Only first 7 columns per glyph otherwise would have been 35×24 text
- Vertical stems for ‘[]{}’ are 2 pixels wide (bold)
- Very small slashes ‘/\’
- Upper-case is consistent although ‘A’ is very angular, ‘G’ unpronounced
- Lower-case less consistent – ‘gf’ has soft curves, ‘mw’ square, ‘nhr’ ignore curve of ‘u’
- Numbers – unusual ‘3’ but ’96’ over-extend
Rationale
The font is well suited to the default high-contrast white-on-black (often green-on-black) given the machine was intended for use on their own monitors.
Influences
The upper-case, numbers and symbols were copied from the Signetics 64 × 8 × 5 character generator 2513 chip used in the Apple I and II in revision 0 to 6.
The later Texas Instruments TMS9918 Video Controller Chip used on Sega, Nintendo, Colecovision and TI/99 machines re-used this font with only a couple of pixels changed.
Technical
Changing the font requires replacing the 2 KB 2716 pin-out ROM with your own EPROM or alternate ROM.
Atari 400/800 (1979)
Atari’s entry into the home computing market put out some very capable machines with all sorts of hardware tricks (the creative geniuses behind it would go on to form Amiga). The same font was used on all Atari 8-bit models from the original 400/800 to the XL and XE models in the late 80’s.
Unusual characteristics
- 6 pixels uppercase causes some vertical imbalance especially on ‘9’
- Braces are overly bold being 3 pixels wide.
- Less than and greater than symbols are too tall.
- ‘MWw’ make great use of width to nice effect
- Bar on ‘G’ too low, ‘U’ overtly square, ‘X’ very blocky, ‘S’ does not extend enough
Rationale
The machine boots in a low-contrast blue-on-blue and is designed for use with TV’s which explains some of the odd characteristics above like the square U to distinguish it from the V. It is likely the 6-pixel choice is to allow the letters to be centered when using inverse letter mode.
Influences
Designed by Scott Scheiman (Source)
Technical
One byte per row, 8 sequential bytes making one glyph. You can reprogram this by poking address 756 with the page number of the new font (default of 226 for ROM location 0xE000).
POKE 756, 226
Acorn BBC Micro (1981)
The Beeb, as it was affectionately known, has its own font which could display in three different modes – one wider and one narrower but many users might not recognize it all as it booted into ‘Mode 7’ utilizing a Videotex chip (used in the UK for text-on-TV and travel agents as well as in France for Minitel) that had a different font of its own.
Unusual characteristics
- Drops bold in tight spaces e.g ‘$&@’
- Outlines the tail on the ‘Q’ to make it much clearer
- Unique and beautiful ‘*’
- Does not extend low bar on ‘e’ as much as expected and ‘f’ seems to wide
- Vertically squished ‘?’
- Style of single-quote ‘ is inconsistent with comma
Rationale
The machine generally shipped with good quality monitors and the combination of high-contrast colors and this bold font made it very readable indeed.
Influences
It’s quite likely it was influenced by the Atari 8-bit font but with larger capitals and ascenders and a much more consistent look.
Technical
The system font is stored at 0xC000-0xC2FF with each character being represented by 8 sequential bytes (left pixel is high bit).
You can replace the font used by system text routine OSWRCH (0xFFEE) using the VDU command 23 followed by the ASCII code and then 8 rows of data, e.g.
VDU 23,65,11,22,33,44,55,66,77,88
Sinclair ZX Spectrum (1982)
Sinclair’s successor to the ZX81 added color and lower-case letters – again preserving the uppercase and numbers from its predecessor but finally mapping them to ASCII. This font was re-used on Jupiter Ace and Timex machines but the ZX Spectrum was the most popular.
Unusual characteristics
- 6 pixels uppercase leaves many unevenly balanced ‘BEFS’ and ‘X’ with ugly 2×2 center
- Full stop is 2×2 pixels (bold) but colon, semi-colon and comma are not
- Capital ‘MW’ are very slight with latter hard to distinguish from ‘V’
- Uneven styling ‘c’ omits curves, ‘e’ is soft ‘g’ is not, ‘f’ and ‘k’ are thin
- Only the copyright symbol uses to the top row of pixels
Rationale
While the machine has a default high-contrast scheme the video output was poor because of the quality of the RF modulator and home TVs it was connected to. It looks like the designer decided to increase spacing between letters after the ZX80 from one to two pixels which greatly limited what could be done with the letters themselves. This was likely done for the same reasons it was done on the Atari 8-bit – namely to allow the letters to be centered when using inverse text modes.
Influences
The font was mostly inherited from the ZX80. I was not involved with that, so I don’t know who did it. Probably it was a combination of John Grant, Jim Westwood and Rick Dickinson. It’s possible we added lower case for the ZX81 or Spectrum (I can’t remember without checking), and I do remember discussions about how “mostly moistly” would appear.Steve Vickers, email, 2nd February 2001
Technical
The system font is stored at 0x3D00-0x3FFF with each character being represented by 8 sequential bytes (left pixel is high bit). You can replace the system text routine (RST 10) by poking the new fonts memory address into the system memory map at 23606/23607 minus 256 bytes (the first 32 characters are non-printable, 32×8 = 256)
LOAD "newfont" CODE 49152, 768: POKE 23606, 0: POKE 23607, 191
Commodore 64 (1982)
Commodore took to take their success with the PET and applied it to the home first with the VIC 20 and then later with the wildly successful Commodore 64.
Unusual characteristics
- Inconsistent shapes/style across ‘147,&<>@Q’
- 2×2 pixel of ‘.’ is not carried through to ‘;:!’
- Ascenders not as tall as capital letters
Rationale
The bold font was essential for the low-quality TV’s Commodore were aiming at. The inconsistencies across the font may have been intentional to help make the letters look different (A vs 4, 1 vs I, 7 vs T) given the limitations of the displays or just poorly implemented (see below).
Influences
Lower-case is identical to the Atari 8-bit font and likely copied wholesale as they do not match the upper-case well. Symbols, numbers and upper-case are a bolded version of the PET font that looses the serifs and also could explain the odd reproductions of 1, 2, 7 & 4.
Technical
See comment from Paolo below for details!
Amstrad CPC (1984)
Alan Sugar’s foray into the UK market came a little later than the other 8-bits in 1984 with the Amstrad CPC series.
Unusual characteristics
- Full use of 7 pixels for upper and 1 pixel for lower means glyphs can touch
- Serif choice is unusual and not consistently applied because of space constraints
- ‘0’ is wider than would be expected (copied from CGA font)
- Very distinctive curves on ‘CGOQ’
- ‘X’ looks like a different style because of high mid-point
Rationale
Sugar wanted the machine to look more professional than other home computers at the time. The choice of a serif based font to look like PCs which also featured serifs (at a higher resolution) reflects that desire.
Influences
Very similar to the IBM CGA font with some adjustments (fixes) to the horizontal positioning of some symbols. Many characters completely identical and some bearing style similarities too (wider 0, X choosing one side to be longer than the other). Some other characters bear similarity to the BBC Micro (Q uses the same trick to keep it distinguished) and a number of symbols and lower-case letters being the same where serifs would not fit.
The Amstrad CPC manual shows the system font but is different in some areas. It is possible it is a transcription problem (z is shifted up one pixel, missing pixels on ’37PRz~’ and extra pixels on ‘#b’ ) although it could have been an earlier version from the designer as ‘rG?’ are subtly different.
Technical
Redefine using the Amstrad BASIC command SYMBOL that takes an ASCII code and then 8 comma-separated values one-per-row in much the same way as the BBC with the VDU 23 command. SYMBOL AFTER must be set first e.g.
SYMBOL AFTER 32
SYMBOL 65,11,22,33,44,55,66,77,88
MSX (1983)
The MSX differs from the other machines here in that it was a standard rather than a specific machine. It was very popular in Japan and did hit UK shores although I only knew a single person that had one apart from our school which had acquired several Yamaha models to control MIDI keyboards. Given the multiple manufacturers, it’s not surprising that some models had slightly tweaked fonts but the one shown here seems to be the most popular.
Unusual characteristics
- Full use of 7 pixels for upper and 1 pixel for lower means glyphs can touch
- Only 5 pixels wide for the letters
- Pixels touching on the curves of ‘db’ etc. look quite ugly
- Very angular curves on ‘5’
Rationale
An unusual choice that feels very quirky.
Influences
Most likely influenced by the Apple ][e.
Technical
Unknown.
[)amien
48 responses